<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="../WEB-INF/template_admin.xhtml">
        <ui:define name="title">
            <h:outputText value="Productos"></h:outputText>
        </ui:define>
        <ui:define name="content">
            <div class="content">
                <br />
                <ul class="lista-mapa-sitio">
                    <li><a href="#{request.contextPath}/faces/administrador.xhtml">Administrar</a> / </li>
                    <li>Productos</li>
                </ul>
                <p:fieldset legend="Lista de Productos" styleClass="panel-usuario" style="width: 700px">

                    <p:growl id="growl"/>
                    <h:form styleClass="jsfcrud_list_form">

                        <h:panelGroup id="messagePanel" layout="block">
                            <p:messages autoUpdate="true"/>
                        </h:panelGroup>
                        <h:outputText escape="false" value="#{bundle.ListProductoEmpty}" rendered="#{productoController.items.rowCount == 0}"/>
                        <h:panelGroup rendered="#{productoController.items.rowCount > 0}">
                            <h:outputText value="#{productoController.pagination.pageFirstItem + 1}..#{productoController.pagination.pageLastItem + 1}/#{productoController.pagination.itemsCount}"/>&nbsp;
                            <h:commandLink action="#{productoController.previous}" value="#{bundle.Previous} #{productoController.pagination.pageSize}" rendered="#{productoController.pagination.hasPreviousPage}"/>&nbsp;
                            <h:commandLink action="#{productoController.next}" value="#{bundle.Next} #{productoController.pagination.pageSize}" rendered="#{productoController.pagination.hasNextPage}"/>&nbsp;
                            <p:dataTable id="tbl" value="#{productoController.items}" var="item" emptyMessage="No se encontraron productos con ese criterio"
                                         widgetVar="userTable" paginator="true" rows="5" 
                                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                         rowsPerPageTemplate="5,10,20">
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="&nbsp;"/>
                                    </f:facet>
                                    <h:commandLink action="#{productoController.prepareEdit}" title="#{bundle.ListProductoEditLink}">
                                        <img src="../images/b_edit.png" width="16" height="16" alt="b_edit"/>
                                    </h:commandLink>
                                    <p:commandLink title="#{bundle.ListProductoDestroyLink}" oncomplete="cd.show()">
                                        <img src="../images/b_drop.png" width="16" height="16" alt="b_drop"/>
                                    </p:commandLink>
                                    <p:confirmDialog message="¿Está seguro de querer eliminar el registro?"
                                                     header="Iniciando proceso de eliminación" severity="alert"
                                                     widgetVar="cd">
                                        <p:commandButton value="Si" actionListener="#{productoController.destroy}"
                                                         update=":growl" oncomplete="cd.hide()"/>
                                        <p:commandButton value="No" onclick="cd.hide();" type="button" />
                                    </p:confirmDialog>
                                </p:column>
                                <p:column filterBy="#{item.prodNombre}">
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListProductoTitle_prodNombre}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.prodNombre}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListProductoTitle_prodCantidad}"/>
                                    </f:facet>
                                    <h:outputText value="#{item.prodCantidad}"/>
                                </p:column>
                                <p:column filterBy="#{item.prodCategoriaId}">
                                    <f:facet name="header">
                                        <h:outputText value="#{bundle.ListProductoTitle_prodCategoriaId}"/>
                                    </f:facet>
                                    <h:commandLink value="#{item.prodCategoriaId}" disabled="true"/>
                                </p:column>

                            </p:dataTable>
                        </h:panelGroup>
                        <br />
                        <h:commandLink class="jsfcrud_commandlinks_action" action="#{productoController.prepareCreate}" value="#{bundle.ListProductoCreateLink}"/>
                        <br />
                        <h:panelGrid columns="2">  
                            <p:panel header="Exportar Todo">  
                                <h:commandLink>  
                                    <p:graphicImage value="../images/excel.png" />  
                                    <p:dataExporter type="xls" target="tbl" fileName="productos" excludeColumns="0" postProcessor="#{exporterBean.postProcessXLS}"/>  
                                </h:commandLink>  
                                <h:commandLink>  
                                    <p:graphicImage value="../images/pdf.png" />  
                                    <p:dataExporter type="pdf" target="tbl" fileName="productos" excludeColumns="0" preProcessor="#{exporterBean.preProcessPDF}"/>  
                                </h:commandLink>  
                                <h:commandLink>  
                                    <p:graphicImage value="../images/csv.png" />  
                                    <p:dataExporter type="csv" target="tbl" fileName="productos" excludeColumns="0" />  
                                </h:commandLink>  
                            </p:panel>  

                            <p:panel header="Exportar Página">  
                                <h:commandLink>  
                                    <p:graphicImage value="../images/excel.png" />  
                                    <p:dataExporter type="xls" target="tbl" fileName="productos" pageOnly="true" excludeColumns="0" postProcessor="#{exporterBean.postProcessXLS}" />  
                                </h:commandLink>  
                                <h:commandLink>  
                                    <p:graphicImage value="../images/pdf.png" />  
                                    <p:dataExporter type="pdf" target="tbl" fileName="productos" pageOnly="true" excludeColumns="0" preProcessor="#{exporterBean.preProcessPDF}"/>  
                                </h:commandLink>  
                                <h:commandLink>  
                                    <p:graphicImage value="../images/csv.png" />  
                                    <p:dataExporter type="csv" target="tbl" fileName="productos" pageOnly="true" excludeColumns="0"/>  
                                </h:commandLink>  
                            </p:panel>  
                        </h:panelGrid>
                        <br />
                    </h:form>
                </p:fieldset>
            </div><!-- end of content -->
        </ui:define>
    </ui:composition>

</html>
